Software Engineering — Appunti TiTilda

Indice

Requirements Engineering (RE)

Requirements Engineering (RE) is the process responsible to discover and document the purpose of a software. This is done to avoid misunderstandings and build the right product.

RE is a iterative and collaborative process that needs continuous reviews.

The core activities of RE are:

Requirements

Requirements can be broadly classified into three main categories.

Functional Requirements (FR)

The functional requirements describe the services that the system should provide and the interactions between the system and the environment.

These requirements must be implementation-independent, meaning that they should not specify how the functionality will be implemented, but rather what the system should do.

Non-Functional Requirements (NFR)

The non-functional requirements describe the quality and how well the system performs its functions. They doesn’t describe specific behaviors or functions, but might model constraints on the system.

NFRs can be measured using specific metrics.

Constraints

The constraints are specific technical or business requirements that limit or restrict the solution.

Examples of constraints include regulatory compliance, budget limitations, or specific technology choices.

How to write requirements

Well-written requirements are essential for a successful project. They must be clear, precise, and unambiguous.

Context

RE is responsible to to define the phenomena (the observable events) that are relevant to the project.

A requirement is complete iff it satisfy (logically entails) the goal in the context of the domain.

\text{R and D} \models G

Ultima modifica:
Scritto da: Andrea Lunghi